Many modern mobile devices (e.g., smart phones, electronic tablets) include a suite of sensors to support applications that require inertial and environmental sensor data. Inertial data can be provided by onboard accelerometers, gyro sensors and magnetometers. Environment data can be provided by temperature, pressure, proximity and ambient light sensors. Inertial and environmental sensors can be provided as integrated circuit chips by a number of manufacturers. Thus, it is common for a single device to include sensors from a variety of manufacturers. Each sensor can include its own software driver to allow program code running on an application processor (e.g., a microcontroller) to interact with the sensor, such as requesting sensor data or programming the sensor.
Since the sensor device manufacturers sell their devices to many customers, the sensor devices typically provide raw data to allow the customer's software applications to process the raw data as desired. Application developers must perform further processing on the raw data (e.g., scaling and units conversion) which requires additional processing cycles from the application processor.